The Internet enables access to a wide variety of resources, such as video or audio files, web pages for particular subjects, posts, and streams. A search system can identify resources that may be of interest to a user. For example, a search system may identify documents and web pages in response to a user query that includes one or more search terms or phrases, or may use a user profile to identify posts and other content to be provided on the user's personal network resource, such as a social network environment. The search system ranks the resources based on their relevance, as determined by an appropriate ranking algorithm, and provides the resources (or links to the content in the form of search results), according to the ranking.
Typically a robust search algorithm performs well over a wide variety of resources. However, sometimes particular features in a particular set of resources may be quite important in determining the search scores for the resources. This may result in “crowding” of similar types of content. While such crowding may be beneficial for some searches, there are other situations in which diversity among the features in the resources to be provided to the user is desired. For example, in the context of a social network page, it may be desirable to provide resources that are diverse with respect to a particular feature that is indicative of a user's social network friends or posts of other users that the user follows. Such diversity is desirable because most users do not want to see, as suggested interest topics, numerous posts from the same user in an uninterrupted sequence.